package com.qzsoft.zhjd.materiel.modules.materielsupplierdeviation.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qzsoft.zhjd.materiel.modules.materielsupplierdeviation.dto.MaterielSupplierDeviationCountDto;
import com.qzsoft.zhjd.materiel.modules.materielsupplierdeviation.dto.MaterielSupplierDeviationItemDto;
import com.qzsoft.zhjd.materiel.modules.materielsupplierdeviation.dto.MaterielSupplierDeviationListDto;
import com.qzsoft.zhjd.materiel.modules.materielsupplierdeviation.dto.MaterielSupplierDeviationTopDto;

/**
 * @ClassName MaterielSupplierDeviationService
 * @Description 供货商供货偏差业务接口
 * @author linhuawei
 * @since 2022-04-02
 */
public interface MaterielSupplierDeviationService {

    /**
     * @Title count
     * @Description 获取统计信息（本期、累计对比）
     * @param params 查询条件
     * @return 统计信息
     */
    public Map<String, MaterielSupplierDeviationCountDto> count(Map<String, Object> params);

    /**
     * @Title top5
     * @Description 获取偏差排行top5（本期、累计对比）
     * @param params 查询条件
     * @return 偏差排行top5
     */
    public Map<String, List<MaterielSupplierDeviationTopDto>> top5(Map<String, Object> params);

    /**
     * @Title pageForSupplier
     * @Description 按供应商分组偏差率列表
     * @param params 查询条件
     * @return 按供应商分组偏差率列表
     */
    public IPage<MaterielSupplierDeviationListDto> pageForSupplier(Map<String, Object> params);

    /**
     * @Title pageForItem
     * @Description 按材料分组偏差率列表
     * @param params 查询条件
     * @return 按材料分组偏差率列表
     */
    public IPage<MaterielSupplierDeviationItemDto> pageForItem(Map<String, Object> params);
    

}
